package com.cn.yunhe.rentcars.mapper.permission;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.cn.yunhe.rentcars.model.permission.Account;

/**
 * 权限管理-用户管理
 * 
 * @author 刘源
 *
 */

@Mapper
public interface AccountMapper {
	
	/**
	 * 模糊查询用户
	 * 
	 * @param username and so on
	 * @return Account or accountList
	 */
	List<Account> getAccounts(String username);
	
	List<Account> searchAccounts(Map<String, String> params);
	
	
	/**
	 * 根据uid查询对应的账户信息
	 * 
	 * @param uid
	 * @return
	 */
	Account getAccountById(String uid);
	
	Account getAccountByName(String userName);
	
	
	/**
	 * 添加新用户
	 * 
	 * @param account
	 */
	void addAccount(Account account);
	
	
	/**
	 * 删除单个账户
	 * 
	 * @param uid
	 */
	void delAccount(String uid);
	
	
	/**
	 * 批量删除用户信息
	 * 
	 * @param uidList
	 */
	void delAccounts(List<String> uidList);
	
	/**
	 * 编辑更新账户信息
	 * 
	 * @param account
	 */
	void editAccount(Account account);
	
	/**
	 * 设置用户的的状态
	 * @param account
	 */
	void setUserState(Account account);
	

}
